package com.cmwa.solution.sys.msg.service;

import java.util.List;

import com.cmwa.solution.base.entity.Page;
import com.cmwa.solution.base.entity.SearchParam;
import com.cmwa.solution.sys.msg.vo.MsgViewVo;

public interface IMsgViewService{
	
	/**
	 * @author: luohao
	 * @date: 2016年9月20日 下午1:40:42
	 * @desc: 分页查询消息
	 */
	public Page<MsgViewVo> msgViewListPage(SearchParam sp);
	
	/**
	 * @author: luohao
	 * @date: 2016年9月20日 下午2:05:05
	 * @desc: 查询最新的几条消息
	 */
	public Page<MsgViewVo> newestListPage(SearchParam sp);
	
	/**
	 * @author: luohao
	 * @date: 2016年9月29日 下午1:49:33
	 * @desc: 查询未读消息数量
	 */
	public int unreadMsgCount();
	
	/**
	 * @author: luohao
	 * @date: 2016年9月25日 下午2:11:18
	 * @desc: 查询有标志的几条消息
	 */
	public Page<MsgViewVo> flagListPage(SearchParam sp);
	
	/**
	 * @author: luohao
	 * @date: 2016年9月20日 下午1:51:53
	 * @desc: 更新消息状态为已经读
	 */
	public void updateForView(String msgId);
	
	/**
	 * @author: luohao
	 * @date: 2016年9月20日 下午1:55:18
	 * @desc: 为消息打标签,同时置为已读
	 */
	public void updateForFlag(String msgId, String flag);
	
	/**
	 * @author: luohao
	 * @date: 2016年9月20日 下午1:57:47
	 * @desc: 删除消息
	 */
	public void deleteMsg(String msgId);
	
	/**
	 * @author: luohao
	 * @date: 2016年9月20日 下午2:03:23
	 * @desc: 批量删除消息
	 */
	public void batchDeleteMsg(List<String> msgIdList);
	
	/**
	 * @author: luohao
	 * @date: 2016年9月28日 上午10:46:39
	 * @desc: 增加消息
	 */
	public void addMsg(MsgViewVo msg);
	
	/**
	 * @author: luohao
	 * @date: 2016年9月28日 上午10:48:01
	 * @desc: 批量增加消息
	 */
	public void batchAddMsg(List<MsgViewVo> msgList);
}
